home *** CD-ROM | disk | FTP | other *** search
- package
- {
- import com.google.analytics.AnalyticsTracker;
- import com.google.analytics.GATracker;
- import copy.CopyBank;
- import engine.Engine;
- import flash.display.MovieClip;
- import flash.events.Event;
- import flash.media.Sound;
- import flash.media.SoundChannel;
- import flash.media.SoundTransform;
- import flash.system.Security;
- import ui.MainUI;
-
- public class Main extends MovieClip
- {
-
- private static var _instance:Main;
-
-
- private var _missionMusic:Sound;
-
- private var _menuFadeTarget:Number = 1;
-
- private var _propeller:Sound;
-
- private var _missionMusicChannel:SoundChannel;
-
- private var _soundOn:Boolean = true;
-
- public var _mainUI:MainUI;
-
- public var _api:Object;
-
- private var _missionFade:Number = 1;
-
- private var _engine:Engine;
-
- private var _missionMusicTransform:SoundTransform;
-
- private var _menuMusicChannel:SoundChannel;
-
- private var _propChannel:SoundChannel;
-
- private var _menuMusic:Sound;
-
- private var _propTransform:SoundTransform;
-
- private var _menuMusicTransform:SoundTransform;
-
- private var _soundVolume:Number = 1;
-
- private var _missionFadeTarget:Number = 1;
-
- private var _pausePoint:Number = 0;
-
- private var _menuFade:Number = 1;
-
- private var _tracker:AnalyticsTracker;
-
- public function Main()
- {
- var copyBank:* = undefined;
- _soundOn = true;
- _pausePoint = 0;
- _menuMusicChannel = new SoundChannel();
- _menuMusicTransform = new SoundTransform(1);
- _menuFade = 1;
- _menuFadeTarget = 1;
- _missionMusicChannel = new SoundChannel();
- _missionMusicTransform = new SoundTransform(1);
- _missionFade = 1;
- _missionFadeTarget = 1;
- _propChannel = new SoundChannel();
- _propTransform = new SoundTransform(1);
- _soundVolume = 1;
- super();
- _instance = this;
- copyBank = new CopyBank();
- _mainUI.initCopy();
- _engine = new Engine();
- addChild(_engine);
- _engine.cacheBitmaps();
- _engine.initCopy();
- _engine.visible = false;
- addEventListener("enterFrame",onMainEnterFrame);
- addEventListener(Event.ADDED_TO_STAGE,onAddedToStage);
- this.loaderInfo.addEventListener(Event.COMPLETE,initHandler);
- Security.allowDomain("bin.clearspring.com");
- Security.allowDomain("widgets.clearspring.com");
- setMenuMusic();
- }
-
- public static function get Instance() : Main
- {
- return _instance;
- }
-
- private function initHandler(event:*) : *
- {
- var rootObj:* = undefined;
- rootObj = this.root.loaderInfo.loader.root;
- _api = rootObj._api;
- if(!_tracker)
- {
- _tracker = new GATracker(this,"UA-6368558-9","AS3",true);
- }
- Tracker.trackPageview("NATM2_Flight/game/index");
- Tracker.trackEvent("NATM2_Flight","load","loadIndex",String(rootObj._loadTime));
- }
-
- public function toggleSound(graphic:*) : *
- {
- trace("TOGGLE SOUND");
- _soundOn = !_soundOn;
- if(_soundOn)
- {
- Main.Instance.Tracker.trackEvent("NATM2_Flight","soundToggle","on");
- _soundVolume = 1;
- }
- else
- {
- Main.Instance.Tracker.trackEvent("NATM2_Flight","soundToggle","off");
- _soundVolume = 0;
- }
- _missionMusicTransform.volume = _soundVolume;
- _menuMusicTransform.volume = _soundVolume;
- _propTransform.volume = _soundVolume;
- _missionMusicChannel.soundTransform = _missionMusicTransform;
- _menuMusicChannel.soundTransform = _menuMusicTransform;
- _propChannel.soundTransform = _propTransform;
- _engine.updateSoundDisplay();
- _mainUI.updateSoundDisplay();
- }
-
- public function viewScores() : *
- {
- endGame();
- _mainUI.goToScores();
- }
-
- public function get Tracker() : *
- {
- return _tracker;
- }
-
- public function visitSite() : *
- {
- trace("VISIT SITE");
- }
-
- public function get SoundOn() : Boolean
- {
- return _soundOn;
- }
-
- public function playSound(ref:String) : *
- {
- var snd:Sound = null;
- var rNum:Number = NaN;
- if(_soundOn)
- {
- switch(ref)
- {
- case "pickup":
- snd = new snd_Pickup();
- break;
- case "ink":
- snd = new snd_Ink2();
- break;
- case "success":
- snd = new snd_Success();
- break;
- case "hit":
- rNum = Math.random();
- if(rNum < 0.33)
- {
- snd = new snd_Hit1();
- }
- if(rNum >= 0.33 && rNum < 0.66)
- {
- snd = new snd_Hit2();
- }
- if(rNum >= 0.66)
- {
- snd = new snd_Hit3();
- }
- break;
- case "throw":
- snd = new snd_Swish2();
- break;
- case "hitGround":
- snd = new snd_GroundBang();
- break;
- case "hitRing":
- snd = new snd_HitRing();
- break;
- case "keyGround":
- snd = new snd_Key2();
- break;
- case "keyCage":
- snd = new snd_Pickup();
- break;
- case "rocket":
- snd = new snd_Rocket();
- break;
- case "capone":
- snd = new snd_Capone();
- break;
- case "mission":
- snd = new snd_Mission();
- break;
- default:
- trace("### REQUESTED SOUND NOT FOUND");
- }
- snd.play();
- }
- }
-
- public function endGame() : *
- {
- trace("END GAME");
- setMenuMusic();
- _engine.endGame();
- _mainUI.goToMain();
- _mainUI.visible = true;
- _engine.visible = false;
- }
-
- public function shareGame() : *
- {
- _api.menu.show();
- }
-
- public function setDeathPropeller() : *
- {
- _propChannel.stop();
- _propeller = new snd_PropDeath();
- _propChannel = _propeller.play(0,int.MAX_VALUE);
- _propChannel.soundTransform = _propTransform;
- }
-
- public function setMissionMusic() : *
- {
- if(!_missionMusic)
- {
- _missionMusic = new snd_MissionLoop();
- _missionMusicChannel = _missionMusic.play(0,int.MAX_VALUE);
- }
- _missionMusicTransform.volume = _missionFade * _soundVolume;
- _missionMusicChannel.soundTransform = _missionMusicTransform;
- _missionFadeTarget = 1;
- _menuFadeTarget = 0;
- }
-
- public function loadDone(time:Number) : *
- {
- trace("loaded in: " + time + " seconds");
- }
-
- public function startPropeller() : *
- {
- _propChannel.stop();
- _propeller = new snd_Prop();
- _propChannel = _propeller.play(0,int.MAX_VALUE);
- _propChannel.soundTransform = _propTransform;
- }
-
- private function onAddedToStage(event:*) : *
- {
- if(!_tracker)
- {
- _tracker = new GATracker(this,"UA-6368558-9","AS3",false);
- }
- }
-
- public function startGame() : *
- {
- _engine.initSceneMain();
- _mainUI.visible = false;
- _engine.startNewGame();
- _engine.visible = true;
- }
-
- public function viewTrailer() : *
- {
- trace("VIEW TRAILER");
- }
-
- public function stopPropeller() : *
- {
- _propChannel.stop();
- }
-
- public function setMenuMusic() : *
- {
- if(!_menuMusic)
- {
- _menuMusic = new snd_MenuLoop();
- _menuMusicChannel = _menuMusic.play(0,int.MAX_VALUE);
- }
- _menuMusicTransform.volume = _menuFade * _soundVolume;
- _menuMusicChannel.soundTransform = _menuMusicTransform;
- _missionFadeTarget = 0;
- _menuFadeTarget = 1;
- }
-
- private function onMainEnterFrame(event:*) : *
- {
- if(_menuFade < _menuFadeTarget)
- {
- _menuFade += 0.02;
- }
- if(_menuFade > _menuFadeTarget)
- {
- _menuFade -= 0.02;
- }
- if(_missionFade < _missionFadeTarget)
- {
- _missionFade += 0.02;
- }
- if(_missionFade > _missionFadeTarget)
- {
- _missionFade -= 0.02;
- }
- _missionMusicTransform.volume = _missionFade * _soundVolume;
- _menuMusicTransform.volume = _menuFade * _soundVolume;
- _missionMusicChannel.soundTransform = _missionMusicTransform;
- _menuMusicChannel.soundTransform = _menuMusicTransform;
- }
- }
- }
-